package com.example.play.state

import com.example.common.entity.CommendEntity
import com.example.common.entity.SimpleVideoEntity
import com.example.common.state.BaseUIState
import com.example.play.entity.AuthorEntity
import com.example.play.entity.DanmuEntity
import com.example.play.entity.MovieVideoEntity

sealed class PlayUiState :BaseUIState (){
    object LoadEmpty: PlayUiState()

    data class LoadAuthorSuccess(val list: AuthorEntity): PlayUiState()
    data class LoadAuthorFail(val errorMsg: String): PlayUiState()

    data class LoadSimpleVideoSuccess(val list: List<SimpleVideoEntity>): PlayUiState()
    data class LoadSimpleVideoFail(val errorMsg: String): PlayUiState()

    data class LoadMultiVideoSuccess(val list: List<MovieVideoEntity>): PlayUiState()
    data class LoadMultiVideoFail(val errorMsg: String): PlayUiState()

    data class LoadVideoCommentSuccess(val list: List<CommendEntity>): PlayUiState()
    data class LoadVideoCommentFail(val errorMsg: String): PlayUiState()

    data class PublishVideoCommentSuccess(val content: CommendEntity): PlayUiState()
    data class PublishVideoCommentFail(val errorMsg: String): PlayUiState()

    data class PublishVideoDanmuSuccess(val content: String): PlayUiState()
    data class PublishVideoDanmuFail(val errorMsg: String): PlayUiState()

    data class LoadVideoDanmuSuccess(val list: List<DanmuEntity>): PlayUiState()
    data class LoadVideoDanmuFail(val errorMsg: String): PlayUiState()

}